﻿Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE
Imports CondorTravelUTIL.DL

Public Class ConsultarServicios

    'Inherits System.Web.UI.Page
    Inherits PaginaBase

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


        If Not Page.IsPostBack Then

            Dim strRol As String = CType(Session("usuario"), UsuariosBE).Rol

            txtFInicio.Attributes.Add("readonly", "readonly")
            txtFFin.Attributes.Add("readonly", "readonly")
            cle1.StartDate = "01/01/2000"
            cle2.StartDate = "01/01/2000"

            If Not (strRol = "ADMIN" Or strRol = "ASPRO") Then
                Alerta("Usted no tiene permisos a este módulo.", False, String.Empty)
                txtServicio.Enabled = False
                cboTipoServicio.Enabled = False
                txtFFin.Enabled = False
                txtFInicio.Enabled = False
                btnConsultar.Enabled = False
                btnLimpiar.Enabled = False
                btnNuevo.Enabled = False
                Exit Sub
            End If

            CargarTipoServicio()
            listarServicios()

        End If
    End Sub


    Public Sub CargarTipoServicio()

        Dim listTipoServicioBE As List(Of TipoServicioBE) = New List(Of TipoServicioBE)
        Dim objTipoServivioBC As TipoServicioBC = New TipoServicioBC()

        Dim objTipoServSeleccione As TipoServicioBE = New TipoServicioBE
        objTipoServSeleccione.Codigo = 0
        objTipoServSeleccione.Nombre = "[Seleccione]"
        listTipoServicioBE.Add(objTipoServSeleccione)

        listTipoServicioBE.AddRange(objTipoServivioBC.TipoServicioListar())

        cboTipoServicio.DataSource = listTipoServicioBE
        cboTipoServicio.DataValueField = "Codigo"
        cboTipoServicio.DataTextField = "Nombre"
        cboTipoServicio.DataBind()
    End Sub

    'Public Sub CargarProveedor()


    '    Dim listProveedorBE As List(Of ProveedorBE) = New List(Of ProveedorBE)
    '    Dim objProveedorBC As ProveedorBC = New ProveedorBC()

    '    Dim objProveedorSeleccione As ProveedorBE = New ProveedorBE
    '    objProveedorSeleccione.Codigo = 0
    '    objProveedorSeleccione.RazonSocial = "[Seleccione]"
    '    listProveedorBE.Add(objProveedorSeleccione)

    '    listProveedorBE.AddRange(objProveedorBC.ProveedorListarSel)

    '    cboProveedor.DataSource = listProveedorBE
    '    cboProveedor.DataValueField = "Codigo"
    '    cboProveedor.DataTextField = "RazonSocial"
    '    cboProveedor.DataBind()


    'End Sub


    'Public Sub CargarEstado()

    '    Dim listEstadoBE As List(Of EstadoDocBE) = New List(Of EstadoDocBE)
    '    Dim objEstadoBC As EstadoDocBC = New EstadoDocBC()

    '    Dim objEstadoSeleccione As EstadoDocBE = New EstadoDocBE
    '    objEstadoSeleccione.Codigo = 0
    '    objEstadoSeleccione.Descripcion = "[Seleccione]"
    '    listEstadoBE.Add(objEstadoSeleccione)


    '    objEstadoSeleccione.Tipo = "S"
    '    listEstadoBE.AddRange(objEstadoBC.EstadoListar(objEstadoSeleccione))

    '    cboEstado.DataSource = listEstadoBE
    '    cboEstado.DataValueField = "Codigo"
    '    cboEstado.DataTextField = "Descripcion"
    '    cboEstado.DataBind()

    'End Sub


    Public Sub listarServicios()

        Dim objUtil As New Funciones
        Dim objServiciosBE As New ServicioBE

        If txtFInicio.Text.Length > 0 Or txtFFin.Text.Length > 0 Then
            If CDate(txtFFin.Text) < CDate(txtFInicio.Text) Then
                'MsgBox("La fecha final no puede ser menor que la inicial.", MsgBoxStyle.Information, Me.Title)
                Alerta("La fecha final no puede ser menor que la inicial.", False, String.Empty)
                Exit Sub
            End If
        End If

        If txtServicio.Text.Trim <> "" Then
            objServiciosBE.NombreServicio = objUtil.ReemplazarTexto(txtServicio.Text.Trim)
        Else
            objServiciosBE.NombreServicio = ""
        End If

        If txtFInicio.Text.Trim <> "" Then
            objServiciosBE.FechaInicio = objUtil.ReemplazarTexto(txtFInicio.Text.Trim)
        Else
            objServiciosBE.FechaInicio = ""
        End If

        If txtFFin.Text.Trim <> "" Then
            objServiciosBE.FechaFin = objUtil.ReemplazarTexto(txtFFin.Text.Trim)
        Else
            objServiciosBE.FechaFin = ""
        End If

        If cboTipoServicio.SelectedValue.Trim <> "0" And cboTipoServicio.SelectedValue.Trim <> "" Then
            objServiciosBE.CodTipoServicio = cboTipoServicio.SelectedValue
        End If

        'If cboProveedor.SelectedValue.Trim <> "0" Then
        '    objServiciosBE.CodProveedor = cboProveedor.SelectedValue
        'End If

        'If cboEstado.SelectedValue.Trim <> "0" Then
        '    objServiciosBE.Estado = cboEstado.SelectedValue
        'Else
        '    objServiciosBE.Estado = ""
        'End If

        Dim objServicio As New ServicioBC
        dgServicioListado.DataSource = objServicio.ListarServicioList(objServiciosBE)
        dgServicioListado.DataBind()

    End Sub


    Protected Sub btnConsultar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsultar.Click

        If txtFInicio.Text <> String.Empty And txtFFin.Text = String.Empty Then
            Alerta("Falta ingresar el campo HASTA, de la fecha creación.", False, String.Empty)
            Exit Sub
        End If

        If txtFInicio.Text = String.Empty And txtFFin.Text <> String.Empty Then
            Alerta("Falta ingresar el campo DESDE, de la fecha creación.", False, String.Empty)
            Exit Sub
        End If

        listarServicios()
    End Sub

    Private Sub dgServicioListado_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgServicioListado.RowCommand

        Dim intCodigo As Integer = Convert.ToInt32(e.CommandArgument)
        Dim sMensaje As String = String.Empty
        Dim bExito As Boolean

        Select Case e.CommandName  '.ToLower
            Case "Editar"

                Session("TipoEventoServicio") = 1 ' modificar
                Session("CodigoServicio") = intCodigo
                Response.Redirect("AdministrarServicios.aspx", True)

            Case "Eliminar"


                Dim objServicioBE As New ServicioBE
                objServicioBE.CodServicio = intCodigo

                Dim objServicioBC As New ServicioBC
                Dim bRespuesta As Boolean
                bRespuesta = objServicioBC.ValidarExisteServicioAsociado(objServicioBE)

                If bRespuesta Then
                    If MsgBox("¿Esta seguro de eliminar el registro?", MsgBoxStyle.YesNo, Me.Title) = MsgBoxResult.Yes Then
                        objServicioBC.EliminarServicio(objServicioBE, bExito, sMensaje)
                        If bExito Then
                            objServicioBC.EliminarServicio(objServicioBE, bExito, sMensaje)
                            If bExito = True Then
                                listarServicios()
                            End If

                        End If

                    End If
                Else
                    Alerta("El registro no se puede eliminar. Existen Paquetes referenciados al servicio.", False, String.Empty)
                    Exit Sub
                End If
        End Select
    End Sub

   
    Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNuevo.Click

        Session("TipoEventoServicio") = 0
        Response.Redirect("AdministrarServicios.aspx")

    End Sub


    Protected Sub btnLimpiar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnLimpiar.Click
        txtServicio.Text = String.Empty
        txtFFin.Text = String.Empty
        txtFInicio.Text = String.Empty
        cboTipoServicio.SelectedValue = 0

    End Sub
End Class